#ifndef STRUCT_HEADER
#define STRUCT_HEADER

#include <WinSock2.h>
#include <MSWSock.h>
#include "DefineHeader.h"

struct LClient;

typedef struct LBuffer
{
	WSAOVERLAPPED ol;
	UINT nOrderNumber;
	LPSTR buffer;
	INT len;
	LBTP type;
	LBuffer * pNext;
	LClient * client;
}LBuffer,* LPLBuffer;

typedef struct LClient
{
	SOCKET socket;
	SOCKADDR_IN addrRemote;
	SOCKADDR_IN addrLocal;
	UINT nReadNumber;
	UINT nRecvNumber;
	BOOL Release;
	PVOID pContext;
	LPFN_DISCONNECTEX pDisconnectEx;
	LPLBuffer pOutOrderBuffer;
	CRITICAL_SECTION Lock;
	LCTP type;
}LClient,* LPLClient;

typedef struct LFileContext
{
	HANDLE File;
	INT FileLenght;
}LFileContext,* LPLFileContext;

#endif // !STRUCT_HEADER
